Method and system for organizing and interacting with messages on devices

ABSTRACT

A method performed by a mobile device includes causing display of graphical tiles on a display of the mobile device and detecting a gesture while displaying the graphical tiles. The gesture includes an indication to move a particular graphical tile among the graphical tiles. In response to the gesture, the mobile device can automatically move another graphical tile to accommodate the new location of the particular graphical tile and cause display of the graphical tiles arranged in a new order that includes the particular graphical tile in the new location.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation application of U.S. patentapplication Ser. No. 16/840,080, filed Apr. 3, 2020, which is acontinuation application of U.S. patent application Ser. No. 15/250,715,now U.S. Pat. No. 10,623,361, filed Aug. 29, 2016, which claims priorityto U.S. Provisional Patent Application Ser. No. 62/210,922, filed Aug.27, 2015, which is incorporated herein by reference in its entirety.

BACKGROUND

Various modes of Internet communication are experiencing fast-pacedgrowth and innovation. By contrast, the user's interaction with emailhas remained all confined to browsing chronologically sorted lists. Theuser experience in interacting with such email lists is not optimal,especially on mobile devices which typically have a form factor that isdifferent from that of a desktop or a laptop.

FIELD OF THE INVENTION

The technique relates to user device interfaces and more specifically tohorizontal timeline layouts for an email application, gesture basedorganization and triaging of emails in the email application, and aquantified, direct manipulation design for emails in the emailapplication.

SUMMARY OF THE INVENTION

The technology disclosed herein includes methods and systems formanaging email on a user device. In some embodiments, a plurality ofemail tiles may be included in a vertical list. A plurality of verticallists may be available to a user by gesture manipulation. The pluralityof vertical lists may be organized in a horizontal timeline interfacewith each column representing a time period, and the emails may bemanaged individually or in bulk by gesture manipulation.

Embodiments of the present invention include systems and methodsmanaging email on a user device. A first plurality of email tiles in afirst vertical list may be displayed on a screen of the user device. Thefirst plurality of email tiles in the first vertical list may beassociated with a first time period. A motion-based gesture may bedetected. The motion-based gesture may include at least one of a tap ona surface of the screen, a swipe across a surface of the screen, or anacceleration of the user device. In an embodiment, in response todetecting a first motion-based gesture, a second plurality of emailtiles in a second vertical list associated with a second time period maybe displayed. In an embodiment, in response to detecting a secondmotion-based gesture, one or more email management function may beperformed.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features, and characteristics may become moreapparent to those skilled in the art from a study of the followingDetailed Description in conjunction with the appended claims anddrawings, all of which form a part of this specification. While theaccompanying drawings include illustrations of various embodiments, thedrawings are not intended to limit the claimed subject matter.

FIG. 1 shows the horizontal timeline interface, according to oneembodiment;

FIGS. 2A-2D show the ability to rearrange the index and visual order ofemails within a single time period so a user may prioritize the emailsaccording to importance for the user, according to one embodiment;

FIGS. 3A-3E show the ability to pick up email tiles individually forsorting into one of the interface's one or more triage corners,according to one embodiment;

FIGS. 4A-4F show the ability to select and pick up multiple email tilesat once for sorting into one of the interface's one or more triagecorners, according to one embodiment;

FIGS. 5A-5E show how the horizontal timeline interface may be navigatedby user's left or right wrist movement, according to one embodiment;

FIGS. 6A-6F show how the email tiles may be tossed to the top with aforward wrist motion after they are selected, according to oneembodiment;

FIG. 7 shows how automatically generated emails are represented visuallydifferent from the emails received from human senders, according to oneembodiment;

FIG. 8 shows how users may use forward or backward wrist flicks tonavigate to older and newer emails in the system detail view, accordingto one embodiment;

FIGS. 9A-9B show how the system timeline and the user's email quantityby time period is displayed in a histogram, according to one embodiment;

FIGS. 10A-10F show the transition between a horizontal interface and avertical interface of emails, according to one embodiment;

FIG. 11 shows the system providing and/or removing a keyboard inresponse to a motion-based gesture, according to one embodiment;

FIGS. 12A-12B show the undo feature, according to one embodiment;

FIGS. 13A-13B show a “fishing pole” gesture to display an oldest or morerecent time period, according to one embodiment;

FIGS. 14-15 show how an image preview and/or a document preview and/oran audio or video content preview may be surfaced in a main interfacewithout having to open an email, according to one embodiment;

FIG. 16 shows a popup for contact information which may allow a promptcommunication to another user, according to one embodiment;

FIGS. 17A-17B show a view of emails from a sender feature and a view ofattachments from a sender feature, respectively, according to oneembodiment;

FIG. 18 is an illustration of a horizontal timeline, according to oneembodiment;

FIG. 19 is an illustration of sorting a plurality of email messages intoone or more triage corners, according to one embodiment;

FIG. 20 is an illustration of the optical character recognition,according to one embodiment;

FIG. 21 is an illustration of displaying emails with different visualrepresentations for emails received from senders determined byheuristics to have been sent by human senders and emails determined tohave been automatically generated, according to one embodiment;

FIG. 22 is an illustration of displaying favorite email contacts,according to one embodiment;

FIG. 23 is an illustration of a motion-based gesture, such as tilting,for browsing through emails, according to one embodiment.

FIGS. 24-25 are an illustrations of a gesture for organizing emails,according to one embodiment;

FIG. 26 is an illustration of adding text or notes to an image,according to one embodiment;

FIG. 27 is an illustration of customizing the hot corners, according toone embodiment;

FIG. 28 is an illustration of the system main user interface, accordingto one embodiment;

FIG. 29 is an illustration of the system user interface for reading anemail, according to one embodiment;

FIG. 30 is an illustration of the system user interface for composing anemail, according to one embodiment;

FIG. 31 is a block diagram of a computer system as may be used toimplement certain features of some of the embodiments.

FIG. 32 is a block diagram illustrating an abstracted architecture ofthe system, according to one embodiment.

FIG. 33 is a block diagram illustrating an abstracted architecture ofthe system, according to one embodiment.

FIG. 34 is a block diagram illustrating a method for managing a taskqueue, according to an embodiment.

DETAILED DESCRIPTION OF SOME EMBODIMENTS

Discussed below are examples of a method, system and apparatus fororganizing and interacting with email on a user device. In the followingdescription, for the purposes of explanation, numerous specific detailsare set forth in order to provide a thorough understanding of theembodiments of the invention. One skilled in the art may recognize thatthe embodiments of the invention may be practiced without these specificdetails or with an equivalent arrangement. In other instances,well-known structures and devices are shown in block diagram form inorder to avoid unnecessarily obscuring the embodiments of the invention.

FIG. 1 shows the horizontal timeline interface 107, according to oneembodiment. A user device, such as a phone, enables a user to manage hisemail using the system disclosed here. The system displays a histogramof the email associated with the user, e.g., histogram 102 or histogram907 of FIG. 9. In one embodiment, the histogram 102, 907 shows thenumber of emails the user receives in a time period (e.g., an hour, day,week, month, etc.). In another embodiment, the histogram shows thenumber of important emails the user receives in a time period. Thesystem may define the criteria for categorizing an email as import.Additionally or alternatively, the system may allow the user to definethe criteria or customize the criteria. In another embodiment, thehistogram 102, 907 may represent the number of files in differentfolders. If the system receives a zooming out gesture, such as twofingers moving toward each other, the system displays emails received inother time periods. The histogram 102, 907 enables the user to select aparticular time period, and the selected time period is marked, such asby darker shading than the unselected time periods. If the user isviewing emails received on a plurality of time periods, all of the timeperiods viewed may be marked, such as by darker shading than theunselected time periods.

Below the histogram 102, 907, the system displays a list of email tilesreceived on a particular time period and the total number of emailsreceived on that time period 105. A time period may include a timeperiod indicator (e.g., time period indicator 108 stating that the timeperiod is “Thursday, Mar 9”). Email tiles of the list of email tiles mayinclude an image associated with the sender 106, the name of the sender103, and the title of the email 104. If a user selects a different timeperiod in the histogram, the system displays the email received on theselected time period. According to one embodiment, the system receives atouchscreen input from the user selecting a particular time period inthe histogram. According to another embodiment, the system receives amotion-based gesture from the user, and based on the motion-basedgesture, the system scrolls to a time period behind or a time periodahead. According to one embodiment, the motion-based gesture may berotating the phone to the right to scroll back, or rotating the phone tothe left to scroll forward.

FIGS. 2A-2D show the ability to rearrange the index and visual order ofemails within a single time period so a user may personally prioritizethe emails that are most important for the user, according to oneembodiment. By default, the system may sort the email tiles inchronological order for each time period. The system may enable the userto re-arrange the email tiles received on a particular time period. Thesystem receives an input from the user, the input comprising an emailtile 202 or email tile 602 of FIG. 6 that the user would like to placein a different position. For example, the system receives an emailselection from the user, when the user long presses the email 202, 602on the screen 201. Without a lapse in contact with the screen 201, theuser may drag the email tile 202, 602 through the ordered list ofemails. Once the system receives a signal that the user has let go ofthe email (e.g., a lapse of contact with the screen 201), the systemplaces the selected email tile 202 into a new position. A group of emailtiles 203 may move down if the email tile 202 is moved up. FIG. 6,described below, is another example of gestures that may be used torearrange emails.

FIGS. 3A-3E show the ability to move email tiles individually forsorting into one or more of the interface's one or more triage corners,according to one embodiment. In an embodiment, moving email tiles mayinclude a three-dimensional visual effect of picking up an email tilefrom a first position (e.g., in line with a plurality of email tiles) tomove it to a second position (e.g., a screen corner). The systemreceives an email selection of an email tile 302 from the user, such asif the user long presses the email. The system receives a signal thatthe user wants to place the email tile 302 into one of the screencorners 303. For example, the system receives the signal if the user(e.g., a press and hold on a region of screen 301), without letting goof the email tile 302, drags the email to any of the screen corners 303.Once the system receives a signal that the user has let go of the email(e.g., the system detects a lapse of contact), the system performs theaction represented by the corner to which the user has dragged theemail. The corner functions may include, for example, delete an email,include the email in a folder, favorite the email, label the email,archive the email, add the email to a to-do list, marking the email asread, reply to the email, forward the email, save attachment in theemail, or any combination thereof. In an embodiment, a user maycustomize corner function by, for example, selecting corner functionfrom a dropdown list of corner functions.

FIGS. 4A-4F show the ability to select and move multiple email tiles atonce for sorting into one of the interface's one or more triage corners,according to one embodiment. In an embodiment, moving multiple emailtiles may include a visual effect appearing to three-dimensionally pickup the email tiles from a first position and move them to a secondposition. The system may receive a plurality of email tiles 403 from theuser. For example, if the system receives a signal that the user haspressed and let go of an email (e.g., contact with a region of thescreen 401 associated with the email tiles 403 followed by a lapse ofcontact), the system labels the email as a selected email. The systemmay receive multiple email selections 403. The system receives a signalthat the user wants to place the plurality of email selections 403 intoone of the screen corners 303. According to one embodiment, the systemreceives the signal if the user drags his finger across the screentowards the desired screen corner. The system may remove the selectedemails from the display (e.g., causing a plurality of gaps 406), andrearrange the display to close the gaps left by removed emails.

FIGS. 5A-5E show the histogram interface 501 responding to motion inputs(e.g., from a user's left or right wrist movement), according to oneembodiment. Identifying motion inputs by utilizing various motiontechnologies is contemplated. The histogram interface 501 may include aplurality of time periods 503 and time periods may include time periodindicator (e.g., indicator 502 stating “Thursday, Mar 9”). A motioninput may be detected by any motion detection technology, such as, forexample, an accelerometer, gyroscope, camera, compass, globalpositioning system, a plurality of motion sensors, or any combination ofmotion detection technology. Embodiments include the motion detectiontechnology being located within a user device (e.g., a mobile telephone)with which a user may interact. Embodiments include the motion detectiontechnology being located in a separate device (e.g., an external cameradetecting motion of the user). Various motion technologies arecontemplated, and any discussion of a particular motion detectiontechnology should not be construed as limiting.

In an embodiment, the system may detect a motion input (e.g., via anaccelerometer, gyroscope, and/or other motion detection technology) andprovide a second view in response to receiving the motion input. Forexample, the system may detect a user moving a user device (e.g., amobile device) and enable the user to navigate the histogram interfacebased on pre-defined motions. The system may browse the histogram 102,907 upon receiving a motion-based gestures from the user. According toone embodiment, if the user rotates the device to the user's left (i.e.counterclockwise if viewing the bottom of the mobile device), fromposition 504 to position 506, the system displays the previous timeperiod's email 508; if the user rotates the device to the user's right(i.e. clockwise if viewing the bottom of the mobile device), fromposition 509 to position 511 the system displays the next time period'semail.

FIGS. 6A-6B show how the email tiles displayed in screen 601 may betossed to the top with a forward wrist motion after they are selected,according to one embodiment. The system receives an input from the user,the input comprising an email tile 202, 602 that the user would like toplace in a different position. For example, the system receives an emailselection from the user, if the user presses the email tile 202, 602.The system may move the email to the top of the list upon receiving amotion-based gesture from the user. According to one embodiment, themotion-based gesture comprises tilting the device forward away from theuser. Once the system receives a signal that the user has tilted thedevice, the system places the selected email tile 602 into a newposition. A group of email tiles 606 may move down if the email tile 602is moved up.

FIG. 7 shows how automatically generated emails are represented visuallydifferent than the emails received from human senders, according to oneembodiment. For example, an automatically generated email may berepresented as a standard email 701 or as a bot email 702. The bot email702 may include a symbol representing a bot (e.g., a symbol of a head ofa robot). The symbol representing a bot may indicate to a user that theemail is automatically generated to help distinguish automaticallygenerated emails from emails prepared by a human sender. The system maybe configured to display automatically generated emails (e.g., bot email702), such as emails generated by machines or by an applicationexecuting on the machine (referred to as a “robot”), in an alternateview (e.g., a view other than chronologically in an email list 704). Analternate position for an automatically generated email may include, forexample, a bottom of the list of daily emails, hidden from the list, orhidden from the histogram 102, 907 count.

In an embodiment, one or more automatically generated emails identifiedby the system can be removed from the main user interface viewtemporarily or permanently by a tap on the front or back of the mobiledevice. This tap creates a visual representation within the userinterface where the automatically generated non-human sender emails are,in an animated fashion, visually knocked forward and fall down out oftheir respective columns offscreen.

FIG. 8 shows how users may use forward or backward wrist flicks tonavigate from a current email 809 to an older email 811 and newer email810 in the system detail view, according to one embodiment. The systemenables the user to browse through the emails using gestures (e.g.,gesture 813). In an embodiment, the system may detect tilting 813 of auser device, and in response to detecting tilting of the user device,the system may display a subsequent (e.g., newer email 810) or previousemail (e.g., older email 811). According to one embodiment, if thesystem is displaying an email (e.g., including text 802 and/or images ofthe email), and the system receives a gesture tilting the phone forward(e.g., gesture 813), the system may display the following email (e.g.,newer email 810); if the system receives a gesture tilting the phonebackwards, the system may display the previous email (e.g., older email811). An order of emails may be based on, for example, an orderindicated by a user (e.g., by a user rearranging emails user gestors), achronological order of emails, an order altered by the system (e.g., inresponse to detecting an automated email), or a combination thereof(e.g., a partially chronological list of emails with some emails havingan order altered by the system and some rearranged by a user).

FIGS. 9A-9B show how the system timeline and the users email quantity bytime period is displayed in a histogram 901, according to oneembodiment. The histogram 901 may be displayed along the top of theinterface which may be used to scroll from one time frame to another(e.g., from a list of emails associated with a first time period to alist of emails associated with a second time period). In addition, auser may scroll across the histogram to view contacts 902 (e.g., veryimportant person “VIP” contacts or favorite contacts), forward emails,open all emails from a VIP contact, start a fast email to one of auser's most frequent personally selected VIP contacts, or anycombination thereof. VIP contacts may be, for example, selected by auser, identified as frequent contacts by the system, or a combinationthereof. The histogram 102, 907 marks the selected time period 906, forwhich the list of emails is displayed on the device 908. The selectedtime period 906 may be distinguished from other time periods byincluding, for example, a shade darker than other time periods, a colordifferent than other time periods, a texture different than other timeperiods, or any combination thereof. The system may receive a gesturefrom the user to scroll through the histogram 102, 907. According to oneembodiment, the gesture comprises tilting the phone to the left or tothe right to scroll backwards or forwards, respectively. According toanother embodiment, the user may select a date to display by pressing onthe histogram 102, 907 representing the email count for that timeperiod. According to another embodiment, the user may drag his fingeracross the histogram 102, 907 thereby scrolling through emails receivedon different time periods. For example, a user may be in contact with adisplay of a user device associated with a region of the selected timeperiod 906 and the user device may display emails received on a timeperiod associated with the selected time period 906 (e.g., as displayedon user device 908). In another example, a user may be in contact with adisplay of a user device associated with a region of the selected timeperiod 910 of the histogram 909 and the user device may display emailsreceived on a time period associated with the selected time period 910(e.g., as displayed on user device 911). In another example, a user maybe in contact with a display of a user device associated with a regionof the selected time period 913 of the histogram 912 and the user devicemay display emails received on a time period associated with theselected time period 913 (e.g., as displayed on user device 914).

FIGS. 10A-10F show the transition between a horizontal interface and avertical interface of emails for a user device 1001, according to oneembodiment. The horizontal interface displays emails associated with atime period (e.g., an hour, day, week, month, etc.) arrangedhorizontally so that emails associated with a single time frame aredisplayed on a user device and emails associated with one or more othertime frames are accessible by gesturing left or right (e.g., swipingleft or right, tilting left or right, etc.). The vertical interfacedisplays all the emails in a vertical list so that emails associatedwith a plurality of time frames may be accessible by gesturing up ordown (e.g., swiping up or down, tilting up or down, etc.). Thehorizontal interface may transform into a vertical interface; and thevertical interface may transform into a horizontal interface. Forexample, a user may select a first group of emails associated with afirst time frame (e.g., by pressing and holding the screen of a userdevice) and drag the first group of emails associated with the firsttime frame to a second group of emails associated with a second timeframe. The first group may be dragged above, below, or onto the secondgroup. The system may respond to a user selecting and dragging the firstgroup to the second group by presenting the first group and second groupas a single vertical list.

FIG. 11 shows the system providing and/or removing a keyboard inresponse to a motion-based gesture, according to one embodiment. In anembodiment, the system may provide a virtual keyboard on an interface ofa user device in response to detecting a motion-based gesture. Forexample, if a user holding the user device motions a wrist forward awayfrom their body while viewing an interface for composing, replying to,or forwarding email, the keyboard for the user device visible to useronscreen may be displayed with an animation and focus of the cursor maybe put into the first blank field starting from the top. The animationmay include the keyboard scrolling into view from a bottom of thescreen. In another example, if a user holding the user device motions awrist back towards their body in a gesture while viewing an interfacefor composing, replying to, or forwarding email, the keyboard for theuser device visible to user onscreen may be hidden with an animation.The animation may include the keyboard scrolling down out of view of thescreen.

FIGS. 12A-12B show an undo feature, according to one embodiment. In anembodiment, the system may include an undo feature to reverse one ormore email management features. For example, a user may pick upindividual emails or multiple emails and toss them to a corner to label,archive, delete, move, or take another action. The system may track theemail management features utilized. The user may provide an input forthe undo feature by, for example, selecting an undo icon or providing amotion-based gesture (e.g., shaking the user device). Undoing an actionmay apply to a last email management feature or a plurality of prioremail management features performed by the system. A user may utilizethe undo feature to correct mistakes including, for example,reclassifying emails to a new location or leaving emails in theiroriginal position within the main interface.

FIGS. 13A-13B show a “fishing pole” gesture action to end or being atimeframe, according to one embodiment. In an embodiment, the ability ofa user to move not just by individual time periods but to move theirhorizontal timeline interface to the end or beginning of the time periodrepresented by the histogram. In a diagonal motion gesture where theuser moves his wrist forward and to the right or left as detected by themotion sensors, the user interface is animated and shifts to either thebeginning or end of the current email columns represented by thetimeline based on the direction being oriented more to the right or leftat the ending point of the user hand movement.

FIGS. 14-15 show how image and document previews are surfaced in maininterface without having to open an email, according to one embodiment.

FIG. 14 shows the ability of a user to see a preview visualization ofone or more document and image previews within the main interfacewithout first opening an email first. The preview visualization can alsobe interacted with through a gesture touch on the screen to open a fullsize of the attachment in question, whether it is an image, a pdf, aword document, or any other file type. This surfacing of attachmentcontent is a unique way for users to get access to potentially importantvisual information or documents more directly from within an email or todetermine which emails might be of most interest for interacting withfirst.

FIG. 15 shows the ability of the user to see a preview visualization ofother media parsed out of links within the body of an email in thisexample showing a YouTube® video which can be interacted with and openeddirectly without opening the email and tapping any additional links.This surfacing of media content is a unique way for users to get accessto potentially important or entertaining information more directly fromwithin an email or to determine which emails might be of most interestfor interacting with first.

FIG. 16 shows a popup for contact information which may allow a prompttext message or call, according to one embodiment. In an embodiment, theability of users to quickly get to the contact details for allrecipients and/or senders of an email thread and to initiate a mobilephone call or text message from directly within the application.

FIGS. 17A-17B show a view emails from a sender feature and a viewattachments from a sender feature, respectively, according to anembodiment. In an embodiment, the view emails from the sender featuremay be provided if a user selects a particular sender. The system mayallow the user to see the emails on a timeline interface with eachcolumn representing a specific time period or may allow the user to seethem in single vertical chronological list. For example, if a userselects a favorite user, emails sent from the favorite user may beprovided in the horizontal timeline. In another example, if a userselects a sender of an email (e.g., the sender “Erik Lucas” visible inscreen 1702), the system may generate and provide a horizontal timelineof emails from the sender (e.g., the horizontal timeline 1704).

In an embodiment, the view attachments from the sender feature may beprovided if a user selects a particular sender. The system may allow theuser to browse, reorganize, and filter by attachment type if desired.For example, if a user selects a favorite user, attachments included inemails sent from the favorite user may be provided in the horizontaltimeline. In another example, if a user selects a sender of an email theuser is viewing, the system may generate and provide a attachmentsincluded in emails from the sender. The user may have the ability toselect with either gestures or touch screen interactions whichattachments they would like to view in full format and then have thatfile displayed. Users may be able to edit a document and reply with anedited or version and also may forward or send the email to anothercontact or contacts. Examples of some files types which a user will seefrom contacts with the all attachments from sender feature are MS Worddocuments, PDFs, MS Excel files, Video Files with screencap preview,Text files, Html files, Images, Icons, MS Powerpoint, etc.

FIG. 18 is an illustration of the horizontal timeline interface,according to one embodiment. The horizontal timeline interface is anexample of a horizontal timeline interface as described with referenceto FIGS. 2A-2D.

FIG. 19 is an illustration of sorting a plurality of email tiles intoany of four triage corners, according to one embodiment. Although fourtriage corners are illustrated, embodiments include having no triagecorners, having one triage corner, and having more than one triagecorner. The triage corners may function, for example, as described withreference to FIGS. 3A-3E.

FIG. 20 is an illustration of the optical character recognition,according to one embodiment. The system receives a handwritten textinput, such as alphanumeric characters, from the user. According to oneembodiment, the user may input the text with a finger. The system mayconvert the hand writing into a typed message. In an embodiment, thesystem may analyze the handwritten message by identifying segments ofinputs and determine a correlation between the identified segments andalphanumeric characters. An input segment may be, for example, a portionof an input physically separated from other portions of an input (e.g.,a space exists between the portion and other portions), a portion of aninput temporally separated from other portions of an input (e.g., theportion is input in a first time period and other portions are input ina second time period), or a combination thereof. Identified inputsegments may be analyzed by utilizing, for example, a matching algorithmto determine a correspondence between, for example, a first inputsegment and a first alphanumeric character (e.g., the letter “e”). Analphanumeric character having a greatest determined correlation may beincluded in an email as text.

FIG. 21 is an illustration of displaying emails based on priority,according to one embodiment. According to one embodiment, the systemprioritizes email based on a sender type, such as whether the sender isassociated with a person or a robot. The system may automatically detectwhether the sender is a person, or whether the message is automaticallygenerated. The system may associate a distinctive image with themessages that are automatically generated. According to one embodiment,the image representing a robot head may be included in emails associatedwith emails being automatically generated. The user may identify whichemail messages are automatically generated based on a provided image(e.g., the robot head), and therefore identify the email as lowerpriority. According to another embodiment, the system may automaticallydisplay the lower priority messages at the bottom of the list of dailyemails, or the system may omit the lower priority messages from the listof daily emails. In addition, the system may exclude the number of lowerpriority messages from the histogram count.

FIG. 22 is an illustration of displaying favorite email contacts,according to one embodiment. If a user is composing an email and beforethe user enters the email address associated with a recipient, thesystem displays a list of images associated with the user's frequentemail contacts. The system may receive a gesture-based input from theuser selecting an image associated with a user's frequent contact. Thegesture-based input may be, for example, pressing and dragging theselected image to the email field associated with the recipient address.In another example, if a pointer focus is within a to/cc/bcc field, thegesture-based input may be touching an icon photo of a favorite emailcontact causing the system to insert an email address associated withthe favorite email contact into the to/cc/bcc field. Once the systemreceives the gesture-based inputs from the user, the system assigns therecipient email address to be the email associated with the selectedimage.

FIG. 23 is an illustration of a motion-based gesture, such as tilting,for browsing through emails, according to one embodiment. The systemreceives a gesture-based input from the user, and based on that inputscroll forward or backward through the list of emails. For example, thegesture may be tilting the device forward to scroll forward; or tiltingthe device backward to scroll backward through the list of emails.

FIGS. 24-25 are an illustration of a gesture for organizing emails,according to one embodiment. The system receives an email selection fromthe user, such as if the user presses on an email message. The systemreceives a gesture-based input from the user, placing the email into oneof the screen corners associated with the device. The gesture mayinclude the user dragging the selected email to one of the screencorners, or the user tilting the device towards one of the screencorners. Once the system receives the input, the system performs thefunction associated with the icon displayed in the selected screencorner. The function performed may include, for example, deleting anemail, including the email in a folder, favoriting the email, labelingthe email, archiving the email, adding the email to a to-do list,marking the email as read, replying to the email, forwarding the email,saving an attachment in the email, or other email actions.

According to another embodiment, the gesture-based input from the userfor organizing emails may include sliding the entire daily email list upon the device screen, in order to archive the entire daily email list.

FIG. 26 is an illustration of adding text or notes to an image and/ordocument, according to one embodiment. The system receives a typedinput, or a hand written input (such as a writing, or a scribble) fromthe user. The system also receives a selection of an image from theuser. The system associates the image and the typed or handwritteninput, and displays the image overlaid with the user notes. The systemstores the overlaid image or annotated document.

FIG. 27 is an illustration of customizing the hot corners, according toone embodiment. The system receives an input from the user associating aparticular folder, or a particular action with a screen corner. Theparticular folder may be an email folder, or a folder associated withthe device. The particular action may be reply to an email, reply all toan email, forward an email, save all attachments associated with anemail, or other email actions.

FIG. 28 is an illustration of the system main user interface, accordingto one embodiment. The system displays attachment previews in the dailyemail list. If the user selects an attachment preview, the systemdisplays the attachment without opening the email.

FIG. 29 is an illustration of the system user interface for reading anemail, according to one embodiment. If the system is displaying an emailfor reading, the system displays the email position in the daily emaillist on the screen, such as 11/15, meaning the displayed email is the11th email out of 15 emails received on that time period. The systemdisplays attachments so that the attachments fit on the device screen.The system receives gesture-based inputs from the user to organizeemail. For example, if the system receives a left wrist flick gesture,the system archives the email. If the system receives input comprisingthe user grabbing an email by the subject and dragging it to one of thescreen corners, the system performs the function associated with theselected screen corner.

FIG. 30 is an illustration of the system user interface for composing anemail, according to one embodiment. If the system is receiving an inputfrom the user for composing an email, the system may receivegesture-based inputs from the user to display a VIP contact, or todisplay recent photos. The VIP contact may be a frequent contact or acontact that the user places on the VIP contact list. For example, thesystem receives an input that the user has slid the screen from left tothe right, the system displays a list of images associated with theuser's frequent contacts. If the system receives an input that the userhas slid the screen from right to the left, the system displays a listof recent photos. If the system is receiving an input from the user forcomposing an email, the system displays several icons with correspondingfunctions: an icon for attaching photos associated with the device, anicon for adding photos associated with a cloud service such as iCloud®,Dropbox®, Google Drive®, an icon for quick handwriting conversion, etc.The system may receive a gesture-based input to allow the user toannotate an email photo attachment. For example, if the system receivesan input from the user consisting of tapping a photo attachment, thesystem displays the photo attachment, and allows the user to annotateit.

FIG. 31 is a block diagram of a computer system as may be used toimplement certain features of some of the embodiments. The computersystem may be any user device such as a mobile device, a tablet PC, apersonal digital assistant (PDA), a cellular telephone, an iPhone, aniPad, a Blackberry, a processor, a telephone, a web appliance, aconsole, a hand-held console, a (hand-held) gaming device, a musicplayer, any portable, mobile, hand-held device, wearable device (e.g., awatch), or a machine equipped with motion detection technology (e.g., agyroscope, accelerometer, a plurality of motion sensors, etc.) andcapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine. In an embodiment, thecomputer system may be a virtual reality adaption of the systemdescribed herein. For example, a user's motions may be detected andcorrelated with a virtual representation of the interface describedherein provided to a user.

The computing system 3100 may include one or more central processingunits (“processors”) 3105, memory 3110, input/output devices 3125 (e.g.,keyboard and pointing devices, touch devices, display devices), storagedevices 3120 (e.g., disk drives), and network adapters 3130 (e.g.,network interfaces) that are connected to an interconnect 3115. Theinterconnect 3115 is illustrated as an abstraction that represents anyone or more separate physical buses, point to point connections, or bothconnected by appropriate bridges, adapters, or controllers. Theinterconnect 3115, therefore, may include, for example, a system bus, aPeripheral Component Interconnect (PCI) bus or PCI-Express bus, aHyperTransport or industry standard architecture (ISA) bus, a smallcomputer system interface (SCSI) bus, a universal serial bus (USB), IIC(12C) bus, or an Institute of Electrical and Electronics Engineers(IEEE) standard 3194 bus, also called “Firewire”.

The memory 3110 and storage devices 3120 arc computer-readable storagemedia that may store instructions that implement at least portions ofthe various embodiments. In addition, the data structures and messagestructures may be stored or transmitted via a data transmission medium,e.g., a signal on a communications link. Various communications linksmay be used, e.g., the Internet, a local area network, a wide areanetwork, or a point-to-point dial-up connection. Thus, computer readablemedia may include computer-readable storage media (e.g.,“non-transitory, media) and computer-readable transmission media.

The instructions stored in memory 3110 may be implemented as softwareand/or firmware to program the processor(s) 3105 to carry out actionsdescribed above. In some embodiments, such software or firmware may beinitially provided to the processing system 3100 by downloading it froma remote system through the computing system 3100 (e.g., via networkadapter 3130).

The various embodiments introduced herein may be implemented by, forexample, programmable circuitry (e.g., one or more microprocessors)programmed with software and/or firmware, or entirely in special-purposehardwired (non-programmable) circuitry, or in a combination of suchforms. Special-purpose hardwired circuitry may be in the form of, forexample, one or more ASICs, PLDs, FPGAs, etc.

FIG. 32 is a block diagram illustrating an abstracted architecture ofthe system, according to an embodiment. In an embodiment, the system mayinclude a remote server for facilitating communication between a clientdomain and an email server (e.g., mail server). The client domain may beconfigured to execute one or more processes via a local processor (e.g.,the one or more processors 3105 of FIG. 31). For example, the clientapplication may receive notifications from an email manager and providechanges to the email manager. The email manager may store dataassociated with one or more emails in a local database. The emailmanager may receive tasks (“GET Tasks”) from a remote server andtransmit tasks (“POST Tasks”) to the remote server. The remote servermay communicate with a mail server by, for example, receiving and/ortransmitting tasks to the mail server.

FIG. 33 is a block diagram illustrating an abstracted architecture ofthe system, according to an embodiment. In an embodiment, the system mayinclude a client domain configured to communicate directly with an emailserver (e.g., mail server). The client domain may be configured toexecute one or more processes via a local processor (e.g., the one ormore processors 3105 of FIG. 31). For example, the local processor mayexecute instructions to perform a method for managing a task queue, asdescribed below with reference to FIG. 27. In another example, theclient application may receive notifications from an email manager andprovide changes to the email manager. The email manager may store dataassociated with one or more emails in a local database. The emailmanager may receive and/or transmit tasks (e.g., tasks having validauthorization) in a tasks queue via an email protocol engine to a mailserver.

FIG. 34 is a block diagram illustrating a method for managing a taskqueue, according to an embodiment. One or more tasks may be receivedfrom the email manager and maintained in a queue. A local processor(e.g., the one or more processors 3105 of FIG. 31) may run an operation(e.g., by executing instructions stored in a local database) anddetermine if valid authorization to perform the task is the queueexists. If valid authorization exists, a responsible subsystem may beidentified to perform and/or manage the task. For example, a responsiblesubsystem (e.g., a communication device) may be identified to transmit amessage via the email protocol engine to the mail server.

1. A computer-readable storage medium, excluding transitory signals andcarrying instructions, which, when executed by at least one dataprocessor of a virtual reality system, cause the virtual reality systemto: cause display of a virtual reality interface including multiplegraphical tiles in a particular chronological order, wherein eachgraphical tile represents an electronic message, and wherein one or moregraphical tiles are selectively movable among the multiple graphicaltiles based on a user's motion; detect a motion-based gesture of theuser relative to the virtual reality interface while displaying themultiple graphical tiles on the virtual reality interface, correlate themotion-based gesture of the user to the display of the virtual realityinterface to move a particular graphical tile to a new location amongthe multiple graphical tiles; and in response to the motion-basedgesture: virtually displace another graphical tile of the multiplegraphical tiles to accommodate the new location of the particulargraphical tile; and cause display, on the virtual reality interface, ofthe multiple graphical tiles arranged in a new order different from theparticular order, wherein the new order includes the particulargraphical tile in the new location among the multiple graphical tiles.2. The computer-readable storage medium of claim 1: wherein each of themultiple graphical tiles is selectively movable among the multiplegraphical tiles to change the particular order displayed on the virtualreality interface, and wherein groups of the multiple graphical tilesare selectively movable among the multiple graphical tiles to change theparticular order displayed on the virtual reality interface.
 3. Thecomputer-readable storage medium of claim 1, wherein the virtual realitysystem is further caused to: cause display, on the virtual realityinterface, of one group of multiple groups of graphical tiles, whereineach group is associated with a different time period, and wherein thevirtual reality system is configured to display the multiple groups onegroup at a time.
 4. The computer-readable storage medium of claim 1,wherein the virtual reality system is further caused to: cause display,on the virtual reality interface, of multiple groups of graphical tilesone group at a time, wherein each group is scrollable to displayadditional graphical tiles of the group on the virtual reality interfacewithout displaying graphical tiles of other groups.
 5. Thecomputer-readable storage medium of claim 1, wherein the virtual realitysystem is configured to: cause display, on the virtual realityinterface, of multiple groups of graphical tiles one group at a time,wherein each group is associated with a different time period andincludes graphical tiles arranged in chronological time order, andwherein graphical tiles of any one group are re-orderable among that onegroup.
 6. The computer-readable storage medium of claim 1, wherein, inresponse to the motion-based gesture, the virtual reality system iscaused to: select the particular graphical tile; and animate moving theparticular graphical tile to the new location among the multiplegraphical tiles.
 7. The computer-readable storage medium of claim 1,wherein the virtual reality system is further caused to: cause display,on the virtual reality interface, of an electronic message associatedwith a selected graphical tile; detect that the motion-based gestureincludes a tilt in either a first direction or a second directionopposite of the first direction; in response to detecting the tilt inthe first direction, change the display to present a next electronicmessage timestamped after the electronic message; and in response todetecting the tilt in the second direction, change the display topresent a previous electronic message timestamped before the electronicmessage.
 8. The computer-readable storage medium of claim 1, wherein thevirtual reality system is further caused to: detect that themotion-based gesture includes a tilt in either a first direction or asecond direction opposite of the first direction; in response todetecting the tilt in the first direction, scroll the multiple graphicaltiles forward to later timestamped graphical tiles; and in response todetecting the tilt in the second direction, scroll the multiplegraphical tiles backward to earlier timestamped graphical tiles.
 9. Thecomputer-readable storage medium of claim 1, wherein the motion-basedgesture incudes a tilt, and wherein, in response to the tilt, thevirtual reality system is caused to: animate moving the particulargraphical tile in a direction of tilt.
 10. The computer-readable storagemedium of claim 1, wherein in response to the motion-based gesture, thevirtual reality system is caused to: present a virtual keyboard on thevirtual reality interface; and animate and focus a cursor into a fieldpresented on the display.
 11. The computer-readable storage medium ofclaim 1, wherein the virtual reality system is further caused to: detecta motion-based gesture relative to the virtual reality system; and inresponse to the motion-based gesture, perform a message managementfunction to: delete an electronic message of a selected graphical tile,add an electronic message of a selected graphical tile in a folder, markan electronic message of a selected graphical tile, reply to anelectronic message of a selected graphical tile, forward an electronicmessage of a selected graphical tile, or rearrange an order of a set ofgraphical tiles.
 12. The computer-readable storage medium of claim 1,wherein the virtual reality system is further caused to: detect amotion-based gesture relative to the virtual reality interface; and inresponse to the motion-based gesture, perform an undo function thatreverses a message management function to: restore an electronic messageof a selected graphical tile, remove an electronic message of a selectedgraphical tile in a folder, unmark an electronic message of a selectedgraphical tile, or restore an order of the multiple graphical tiles. 13.The computer-readable storage medium of claim 1, wherein the virtualreality system is further caused to: detect a motion-based gesture in afirst direction or in a second direction different from the firstdirection; in response to detecting the motion-based gesture in thefirst direction, animate and shift to a beginning of the multiplegraphical tiles relative to the chronological time order; and inresponse to detecting the motion-based gesture in the second direction,animate and shift to an end of the multiple graphical tiles relative tothe chronological time order.
 14. The computer-readable storage mediumof claim 1, wherein the motion-based gesture is a first motion-basedgesture, the virtual reality system further being caused to: detect asecond motion-based gesture associated with an electronic message of themultiple graphical tiles; and in response to the second motion-basedgesture, provide a preview of the electronic message without opening theelectronic message.
 15. The computer-readable storage medium of claim 1,wherein the virtual reality system is further caused to: detectmachine-generated electronic messages and human-generated electronicmessages; prioritize the human-generated electronic messages over themachine-generated electronic messages; and cause display, on the virtualreality interface, of the multiple graphical tiles in priority orderwhere graphical tiles of the human-generated electronic messages areprioritized over graphical tiles of the machine-generated electronicmessages.
 16. A virtual reality system comprising: a display device; adata processor; and a memory storing instructions that, when executed bythe data processor, cause the virtual reality system to: cause display,on the display device, a virtual reality interface including a firstgroup of graphical tiles presented in chronological time order, whereineach group is one of multiple groups that are each constrained by a timeperiod, and wherein the virtual reality system is configured to causedisplay, on the display device, the virtual reality interface includingthe multiple groups one group at a time; detect a motion-based gesturerelative to the virtual reality interface while displaying the firstgroup of graphical tiles on the virtual reality interface, wherein themotion-based gesture includes an indication to switch display of thefirst group of graphical tiles to a second group of graphical tiles; andin response to the gesture, cause the virtual reality interface toswitch from the first group to the second group of graphical tiles. 17.The virtual reality system of claim 16, wherein the motion-based gestureincludes tilting in either a first direction or a second directionopposite of the first direction, and wherein the virtual reality systemis further caused to: in response to detecting a tilt in the firstdirection, switch from the first group to the second group associatedwith a time period forward in time; and in response to detecting a tiltin the second direction, switch from the first group to the second groupassociated with a time period backward in time.
 18. A method performedby a virtual reality system, the method comprising: causing display ofmultiple graphical tiles presented in a particular order on a virtualreality interface of a virtual reality system, wherein a graphical tileis selectively movable among the multiple graphical tiles; detecting amotion-based gesture relative to the virtual reality interface whiledisplaying the multiple graphical tiles, wherein the motion-basedgesture includes an indication to move a particular graphical tile amongthe multiple graphical tiles; and in response to the motion-basedgesture: automatically moving another graphical tile of the multiplegraphical tiles to accommodate a new location of the particulargraphical tile; and causing display, on the display device, of themultiple graphical tiles arranged in a new order different from theparticular order, wherein the new order includes the particulargraphical tile in the new location among the multiple graphical tiles.19. The method of claim 18, wherein the motion-based gesture includestilting, and wherein, in response to the tilting, the virtual realitysystem is caused to: when detecting a tilt in a first direction, scrollthe multiple graphical tiles in a first scrolling direction; and whendetecting a tilt in a second direction opposite of the first direction,scroll the multiple graphical tiles in a second scrolling directionopposite of the first scrolling direction.
 20. The method of claim 18:wherein each of the multiple graphical tiles is individually movableamong the multiple graphical tiles to change a current order of themultiple graphical tiles, and wherein groups of the multiple graphicaltiles are individually movable among the multiple graphical tiles tochange the current order of the multiple graphical tiles.